export interface ICity {
  cityId: string;
  cityName: string;
}

export interface ICityDTO {
  id: string | number;
  name: string;
  aliasName: string;
  img: string;
  createTime: Date | null;
  updateTime: Date | null;
}

export interface IField {
  id: number;
  bgColor: string;
  field: string;
  icon: string;
  iconText: string;
}

export interface IFieldItemData {
  readonly field: string;

  readonly id: string;

  readonly name: string;

  readonly star: number;

  readonly score: number;

  readonly defaultPrice: number;

  readonly cityName: string;

  readonly keywords?: string; // 关键词 (多个用英文逗号隔开)

  readonly area?: string;

  readonly address?: string;

  readonly price: number;

  readonly img?: string;

  readonly banners: string[];

  readonly createTime: string | Date | number;

  readonly description: string;

  readonly recom?: string; // 推荐内容

  readonly ticketInfo?: string; // 票务信息

  readonly service: Record<string, string>; // 特殊服务
}

export interface IHomeData {
  foodDatas: Omit<IFieldItemData, 'field'>[];
  hotelDatas: Omit<IFieldItemData, 'field'>[];
  ktvDatas: Omit<IFieldItemData, 'field'>[];
  massageDatas: Omit<IFieldItemData, 'field'>[];
  viewDatas: Omit<IFieldItemData, 'field'>[];
}

export type TListData = IFieldItemData[];

export interface ISearchData {
  foodDatas: IFieldItemData[];
  hotelDatas: IFieldItemData[];
  ktvDatas: IFieldItemData[];
  massageDatas: IFieldItemData[];
  viewDatas: IFieldItemData[];
}

export interface IInfoSearchState {
  keyword: string;
  placeholder: string;
  searchData: Partial<ISearchData>;
}
